//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<iostream>
//using namespace std;
//
//class A
//{
//public:
//	virtual void func1()
//	{
//		cout << "A" << endl;
//	}
//};
//
//class B : public A
//{
//public:
//	virtual void func1()
//	{
//		cout << "B" << endl;
//	}
//};
//
//class C : public A
//{
//public:
//	virtual void func1()
//	{
//		cout << "C" << endl;
//	}
//};
//
//class D : public B, public C
//{
//public:
//	virtual void func1()
//	{
//		cout << "D" << endl;
//	}
//
//};
//
//int main()
//{
//	B b;
//	D d;
//	cout << sizeof(B) << endl;
//	cout << sizeof(C) << endl;
//	A* ab = new B;
//	A* ad = new D;
//	ab->func1();
//	ad->func1();
//	return 0;
//}